<?php

    class BuscadorEstadiosController
    {
        var $capacidadMin;
        var $capacidadMax;
        var $resultados;
        var $errs;
        var $ciudad;

        function BuscadorEstadiosController()
        {
            $this->errs = array();
            $this->resultados = array();
            $this->capacidadMin = 0;
            $this->capacidadMax = 9999999;

  
            if ($_SERVER["REQUEST_METHOD"] == "POST")
            {
   
                $this->parseForm();
                if (!$this->validate()) return;

                // Realizar busqueda
                $estadios = EstadiosDAO::getAll();

                foreach ($estadios as $estadio)
                {
                    // Tomamos todos como resultado
                    $isResult = true;

                    // Vamos descartando
                    if ($this->ciudad != -1 && $estadio->ciudad != $this->ciudad)
                        $isResult = false;

                    if ($estadio->capacidad > $this->capacidadMax)
                        $isResult = false;

                    if ($estadio->capacidad < $this->capacidadMin)
                        $isResult = false;

                    if ($isResult)
                        $this->resultados[] = $estadio;

                }


            }
        }


        function parseForm()
        {
            $this->capacidadMin = Form::getPost('capacidad_min');
            $this->capacidadMax = Form::getPost('capacidad_max');
            $this->ciudad = Form::getPost('ciudad');
        }

        function validate()
        {
            if ($this->capacidadMin == '')
                    $this->errs[] = "No puede ser vacio la capacidad min";

            if ($this->capacidadMax == '')
                    $this->errs[] = "No puede ser vacio la capacidad max";

            if (!is_numeric($this->capacidadMin))
                    $this->errs[] = "Capacidad debe ser numerico";

            if (!is_numeric($this->capacidadMax))
                    $this->errs[] = "Capacidad debe ser numerico";

            //....

            return (sizeof($this->errs) == 0);
        }
    }

?>